/********************************************************************************/
/* RAZE Z80 emulator                                                            */
/* Heavily based on CZ80 emulator by Stephane Dallongueville                    */
/********************************************************************************/

static const void *JumpTable[0x100] = {
    &&OP0x00, &&OP0x01, &&OP0x02, &&OP0x03,
    &&OP0x04, &&OP0x05, &&OP0x06, &&OP0x07,
    &&OP0x08, &&OP0x09, &&OP0x0a, &&OP0x0b,
    &&OP0x0c, &&OP0x0d, &&OP0x0e, &&OP0x0f,

    &&OP0x10, &&OP0x11, &&OP0x12, &&OP0x13,
    &&OP0x14, &&OP0x15, &&OP0x16, &&OP0x17,
    &&OP0x18, &&OP0x19, &&OP0x1a, &&OP0x1b,
    &&OP0x1c, &&OP0x1d, &&OP0x1e, &&OP0x1f,

    &&OP0x20, &&OP0x21, &&OP0x22, &&OP0x23,
    &&OP0x24, &&OP0x25, &&OP0x26, &&OP0x27,
    &&OP0x28, &&OP0x29, &&OP0x2a, &&OP0x2b,
    &&OP0x2c, &&OP0x2d, &&OP0x2e, &&OP0x2f,

    &&OP0x30, &&OP0x31, &&OP0x32, &&OP0x33,
    &&OP0x34, &&OP0x35, &&OP0x36, &&OP0x37,
    &&OP0x38, &&OP0x39, &&OP0x3a, &&OP0x3b,
    &&OP0x3c, &&OP0x3d, &&OP0x3e, &&OP0x3f,

    &&OP0x40, &&OP0x41, &&OP0x42, &&OP0x43,
    &&OP0x44, &&OP0x45, &&OP0x46, &&OP0x47,
    &&OP0x48, &&OP0x49, &&OP0x4a, &&OP0x4b,
    &&OP0x4c, &&OP0x4d, &&OP0x4e, &&OP0x4f,

    &&OP0x50, &&OP0x51, &&OP0x52, &&OP0x53,
    &&OP0x54, &&OP0x55, &&OP0x56, &&OP0x57,
    &&OP0x58, &&OP0x59, &&OP0x5a, &&OP0x5b,
    &&OP0x5c, &&OP0x5d, &&OP0x5e, &&OP0x5f,

    &&OP0x60, &&OP0x61, &&OP0x62, &&OP0x63,
    &&OP0x64, &&OP0x65, &&OP0x66, &&OP0x67,
    &&OP0x68, &&OP0x69, &&OP0x6a, &&OP0x6b,
    &&OP0x6c, &&OP0x6d, &&OP0x6e, &&OP0x6f,

    &&OP0x70, &&OP0x71, &&OP0x72, &&OP0x73,
    &&OP0x74, &&OP0x75, &&OP0x76, &&OP0x77,
    &&OP0x78, &&OP0x79, &&OP0x7a, &&OP0x7b,
    &&OP0x7c, &&OP0x7d, &&OP0x7e, &&OP0x7f,

    &&OP0x80, &&OP0x81, &&OP0x82, &&OP0x83,
    &&OP0x84, &&OP0x85, &&OP0x86, &&OP0x87,
    &&OP0x88, &&OP0x89, &&OP0x8a, &&OP0x8b,
    &&OP0x8c, &&OP0x8d, &&OP0x8e, &&OP0x8f,

    &&OP0x90, &&OP0x91, &&OP0x92, &&OP0x93,
    &&OP0x94, &&OP0x95, &&OP0x96, &&OP0x97,
    &&OP0x98, &&OP0x99, &&OP0x9a, &&OP0x9b,
    &&OP0x9c, &&OP0x9d, &&OP0x9e, &&OP0x9f,

    &&OP0xa0, &&OP0xa1, &&OP0xa2, &&OP0xa3,
    &&OP0xa4, &&OP0xa5, &&OP0xa6, &&OP0xa7,
    &&OP0xa8, &&OP0xa9, &&OP0xaa, &&OP0xab,
    &&OP0xac, &&OP0xad, &&OP0xae, &&OP0xaf,

    &&OP0xb0, &&OP0xb1, &&OP0xb2, &&OP0xb3,
    &&OP0xb4, &&OP0xb5, &&OP0xb6, &&OP0xb7,
    &&OP0xb8, &&OP0xb9, &&OP0xba, &&OP0xbb,
    &&OP0xbc, &&OP0xbd, &&OP0xbe, &&OP0xbf,

    &&OP0xc0, &&OP0xc1, &&OP0xc2, &&OP0xc3,
    &&OP0xc4, &&OP0xc5, &&OP0xc6, &&OP0xc7,
    &&OP0xc8, &&OP0xc9, &&OP0xca, &&OP0xcb,
    &&OP0xcc, &&OP0xcd, &&OP0xce, &&OP0xcf,

    &&OP0xd0, &&OP0xd1, &&OP0xd2, &&OP0xd3,
    &&OP0xd4, &&OP0xd5, &&OP0xd6, &&OP0xd7,
    &&OP0xd8, &&OP0xd9, &&OP0xda, &&OP0xdb,
    &&OP0xdc, &&OP0xdd, &&OP0xde, &&OP0xdf,

    &&OP0xe0, &&OP0xe1, &&OP0xe2, &&OP0xe3,
    &&OP0xe4, &&OP0xe5, &&OP0xe6, &&OP0xe7,
    &&OP0xe8, &&OP0xe9, &&OP0xea, &&OP0xeb,
    &&OP0xec, &&OP0xed, &&OP0xee, &&OP0xef,

    &&OP0xf0, &&OP0xf1, &&OP0xf2, &&OP0xf3,
    &&OP0xf4, &&OP0xf5, &&OP0xf6, &&OP0xf7,
    &&OP0xf8, &&OP0xf9, &&OP0xfa, &&OP0xfb,
    &&OP0xfc, &&OP0xfd, &&OP0xfe, &&OP0xff
};

static const void *JumpTableCB[0x100] = {
    &&OPCB0x00, &&OPCB0x01, &&OPCB0x02, &&OPCB0x03,
    &&OPCB0x04, &&OPCB0x05, &&OPCB0x06, &&OPCB0x07,
    &&OPCB0x08, &&OPCB0x09, &&OPCB0x0a, &&OPCB0x0b,
    &&OPCB0x0c, &&OPCB0x0d, &&OPCB0x0e, &&OPCB0x0f,

    &&OPCB0x10, &&OPCB0x11, &&OPCB0x12, &&OPCB0x13,
    &&OPCB0x14, &&OPCB0x15, &&OPCB0x16, &&OPCB0x17,
    &&OPCB0x18, &&OPCB0x19, &&OPCB0x1a, &&OPCB0x1b,
    &&OPCB0x1c, &&OPCB0x1d, &&OPCB0x1e, &&OPCB0x1f,

    &&OPCB0x20, &&OPCB0x21, &&OPCB0x22, &&OPCB0x23,
    &&OPCB0x24, &&OPCB0x25, &&OPCB0x26, &&OPCB0x27,
    &&OPCB0x28, &&OPCB0x29, &&OPCB0x2a, &&OPCB0x2b,
    &&OPCB0x2c, &&OPCB0x2d, &&OPCB0x2e, &&OPCB0x2f,

    &&OPCB0x30, &&OPCB0x31, &&OPCB0x32, &&OPCB0x33,
    &&OPCB0x34, &&OPCB0x35, &&OPCB0x36, &&OPCB0x37,
    &&OPCB0x38, &&OPCB0x39, &&OPCB0x3a, &&OPCB0x3b,
    &&OPCB0x3c, &&OPCB0x3d, &&OPCB0x3e, &&OPCB0x3f,

    &&OPCB0x40, &&OPCB0x41, &&OPCB0x42, &&OPCB0x43,
    &&OPCB0x44, &&OPCB0x45, &&OPCB0x46, &&OPCB0x47,
    &&OPCB0x48, &&OPCB0x49, &&OPCB0x4a, &&OPCB0x4b,
    &&OPCB0x4c, &&OPCB0x4d, &&OPCB0x4e, &&OPCB0x4f,

    &&OPCB0x50, &&OPCB0x51, &&OPCB0x52, &&OPCB0x53,
    &&OPCB0x54, &&OPCB0x55, &&OPCB0x56, &&OPCB0x57,
    &&OPCB0x58, &&OPCB0x59, &&OPCB0x5a, &&OPCB0x5b,
    &&OPCB0x5c, &&OPCB0x5d, &&OPCB0x5e, &&OPCB0x5f,

    &&OPCB0x60, &&OPCB0x61, &&OPCB0x62, &&OPCB0x63,
    &&OPCB0x64, &&OPCB0x65, &&OPCB0x66, &&OPCB0x67,
    &&OPCB0x68, &&OPCB0x69, &&OPCB0x6a, &&OPCB0x6b,
    &&OPCB0x6c, &&OPCB0x6d, &&OPCB0x6e, &&OPCB0x6f,

    &&OPCB0x70, &&OPCB0x71, &&OPCB0x72, &&OPCB0x73,
    &&OPCB0x74, &&OPCB0x75, &&OPCB0x76, &&OPCB0x77,
    &&OPCB0x78, &&OPCB0x79, &&OPCB0x7a, &&OPCB0x7b,
    &&OPCB0x7c, &&OPCB0x7d, &&OPCB0x7e, &&OPCB0x7f,

    &&OPCB0x80, &&OPCB0x81, &&OPCB0x82, &&OPCB0x83,
    &&OPCB0x84, &&OPCB0x85, &&OPCB0x86, &&OPCB0x87,
    &&OPCB0x88, &&OPCB0x89, &&OPCB0x8a, &&OPCB0x8b,
    &&OPCB0x8c, &&OPCB0x8d, &&OPCB0x8e, &&OPCB0x8f,

    &&OPCB0x90, &&OPCB0x91, &&OPCB0x92, &&OPCB0x93,
    &&OPCB0x94, &&OPCB0x95, &&OPCB0x96, &&OPCB0x97,
    &&OPCB0x98, &&OPCB0x99, &&OPCB0x9a, &&OPCB0x9b,
    &&OPCB0x9c, &&OPCB0x9d, &&OPCB0x9e, &&OPCB0x9f,

    &&OPCB0xa0, &&OPCB0xa1, &&OPCB0xa2, &&OPCB0xa3,
    &&OPCB0xa4, &&OPCB0xa5, &&OPCB0xa6, &&OPCB0xa7,
    &&OPCB0xa8, &&OPCB0xa9, &&OPCB0xaa, &&OPCB0xab,
    &&OPCB0xac, &&OPCB0xad, &&OPCB0xae, &&OPCB0xaf,

    &&OPCB0xb0, &&OPCB0xb1, &&OPCB0xb2, &&OPCB0xb3,
    &&OPCB0xb4, &&OPCB0xb5, &&OPCB0xb6, &&OPCB0xb7,
    &&OPCB0xb8, &&OPCB0xb9, &&OPCB0xba, &&OPCB0xbb,
    &&OPCB0xbc, &&OPCB0xbd, &&OPCB0xbe, &&OPCB0xbf,

    &&OPCB0xc0, &&OPCB0xc1, &&OPCB0xc2, &&OPCB0xc3,
    &&OPCB0xc4, &&OPCB0xc5, &&OPCB0xc6, &&OPCB0xc7,
    &&OPCB0xc8, &&OPCB0xc9, &&OPCB0xca, &&OPCB0xcb,
    &&OPCB0xcc, &&OPCB0xcd, &&OPCB0xce, &&OPCB0xcf,

    &&OPCB0xd0, &&OPCB0xd1, &&OPCB0xd2, &&OPCB0xd3,
    &&OPCB0xd4, &&OPCB0xd5, &&OPCB0xd6, &&OPCB0xd7,
    &&OPCB0xd8, &&OPCB0xd9, &&OPCB0xda, &&OPCB0xdb,
    &&OPCB0xdc, &&OPCB0xdd, &&OPCB0xde, &&OPCB0xdf,

    &&OPCB0xe0, &&OPCB0xe1, &&OPCB0xe2, &&OPCB0xe3,
    &&OPCB0xe4, &&OPCB0xe5, &&OPCB0xe6, &&OPCB0xe7,
    &&OPCB0xe8, &&OPCB0xe9, &&OPCB0xea, &&OPCB0xeb,
    &&OPCB0xec, &&OPCB0xed, &&OPCB0xee, &&OPCB0xef,

    &&OPCB0xf0, &&OPCB0xf1, &&OPCB0xf2, &&OPCB0xf3,
    &&OPCB0xf4, &&OPCB0xf5, &&OPCB0xf6, &&OPCB0xf7,
    &&OPCB0xf8, &&OPCB0xf9, &&OPCB0xfa, &&OPCB0xfb,
    &&OPCB0xfc, &&OPCB0xfd, &&OPCB0xfe, &&OPCB0xff
};

static const void *JumpTableED[0x100] = {
    &&OPED0x00, &&OPED0x01, &&OPED0x02, &&OPED0x03,
    &&OPED0x04, &&OPED0x05, &&OPED0x06, &&OPED0x07,
    &&OPED0x08, &&OPED0x09, &&OPED0x0a, &&OPED0x0b,
    &&OPED0x0c, &&OPED0x0d, &&OPED0x0e, &&OPED0x0f,

    &&OPED0x10, &&OPED0x11, &&OPED0x12, &&OPED0x13,
    &&OPED0x14, &&OPED0x15, &&OPED0x16, &&OPED0x17,
    &&OPED0x18, &&OPED0x19, &&OPED0x1a, &&OPED0x1b,
    &&OPED0x1c, &&OPED0x1d, &&OPED0x1e, &&OPED0x1f,

    &&OPED0x20, &&OPED0x21, &&OPED0x22, &&OPED0x23,
    &&OPED0x24, &&OPED0x25, &&OPED0x26, &&OPED0x27,
    &&OPED0x28, &&OPED0x29, &&OPED0x2a, &&OPED0x2b,
    &&OPED0x2c, &&OPED0x2d, &&OPED0x2e, &&OPED0x2f,

    &&OPED0x30, &&OPED0x31, &&OPED0x32, &&OPED0x33,
    &&OPED0x34, &&OPED0x35, &&OPED0x36, &&OPED0x37,
    &&OPED0x38, &&OPED0x39, &&OPED0x3a, &&OPED0x3b,
    &&OPED0x3c, &&OPED0x3d, &&OPED0x3e, &&OPED0x3f,

    &&OPED0x40, &&OPED0x41, &&OPED0x42, &&OPED0x43,
    &&OPED0x44, &&OPED0x45, &&OPED0x46, &&OPED0x47,
    &&OPED0x48, &&OPED0x49, &&OPED0x4a, &&OPED0x4b,
    &&OPED0x4c, &&OPED0x4d, &&OPED0x4e, &&OPED0x4f,

    &&OPED0x50, &&OPED0x51, &&OPED0x52, &&OPED0x53,
    &&OPED0x54, &&OPED0x55, &&OPED0x56, &&OPED0x57,
    &&OPED0x58, &&OPED0x59, &&OPED0x5a, &&OPED0x5b,
    &&OPED0x5c, &&OPED0x5d, &&OPED0x5e, &&OPED0x5f,

    &&OPED0x60, &&OPED0x61, &&OPED0x62, &&OPED0x63,
    &&OPED0x64, &&OPED0x65, &&OPED0x66, &&OPED0x67,
    &&OPED0x68, &&OPED0x69, &&OPED0x6a, &&OPED0x6b,
    &&OPED0x6c, &&OPED0x6d, &&OPED0x6e, &&OPED0x6f,

    &&OPED0x70, &&OPED0x71, &&OPED0x72, &&OPED0x73,
    &&OPED0x74, &&OPED0x75, &&OPED0x76, &&OPED0x77,
    &&OPED0x78, &&OPED0x79, &&OPED0x7a, &&OPED0x7b,
    &&OPED0x7c, &&OPED0x7d, &&OPED0x7e, &&OPED0x7f,

    &&OPED0x80, &&OPED0x81, &&OPED0x82, &&OPED0x83,
    &&OPED0x84, &&OPED0x85, &&OPED0x86, &&OPED0x87,
    &&OPED0x88, &&OPED0x89, &&OPED0x8a, &&OPED0x8b,
    &&OPED0x8c, &&OPED0x8d, &&OPED0x8e, &&OPED0x8f,

    &&OPED0x90, &&OPED0x91, &&OPED0x92, &&OPED0x93,
    &&OPED0x94, &&OPED0x95, &&OPED0x96, &&OPED0x97,
    &&OPED0x98, &&OPED0x99, &&OPED0x9a, &&OPED0x9b,
    &&OPED0x9c, &&OPED0x9d, &&OPED0x9e, &&OPED0x9f,

    &&OPED0xa0, &&OPED0xa1, &&OPED0xa2, &&OPED0xa3,
    &&OPED0xa4, &&OPED0xa5, &&OPED0xa6, &&OPED0xa7,
    &&OPED0xa8, &&OPED0xa9, &&OPED0xaa, &&OPED0xab,
    &&OPED0xac, &&OPED0xad, &&OPED0xae, &&OPED0xaf,

    &&OPED0xb0, &&OPED0xb1, &&OPED0xb2, &&OPED0xb3,
    &&OPED0xb4, &&OPED0xb5, &&OPED0xb6, &&OPED0xb7,
    &&OPED0xb8, &&OPED0xb9, &&OPED0xba, &&OPED0xbb,
    &&OPED0xbc, &&OPED0xbd, &&OPED0xbe, &&OPED0xbf,

    &&OPED0xc0, &&OPED0xc1, &&OPED0xc2, &&OPED0xc3,
    &&OPED0xc4, &&OPED0xc5, &&OPED0xc6, &&OPED0xc7,
    &&OPED0xc8, &&OPED0xc9, &&OPED0xca, &&OPED0xcb,
    &&OPED0xcc, &&OPED0xcd, &&OPED0xce, &&OPED0xcf,

    &&OPED0xd0, &&OPED0xd1, &&OPED0xd2, &&OPED0xd3,
    &&OPED0xd4, &&OPED0xd5, &&OPED0xd6, &&OPED0xd7,
    &&OPED0xd8, &&OPED0xd9, &&OPED0xda, &&OPED0xdb,
    &&OPED0xdc, &&OPED0xdd, &&OPED0xde, &&OPED0xdf,

    &&OPED0xe0, &&OPED0xe1, &&OPED0xe2, &&OPED0xe3,
    &&OPED0xe4, &&OPED0xe5, &&OPED0xe6, &&OPED0xe7,
    &&OPED0xe8, &&OPED0xe9, &&OPED0xea, &&OPED0xeb,
    &&OPED0xec, &&OPED0xed, &&OPED0xee, &&OPED0xef,

    &&OPED0xf0, &&OPED0xf1, &&OPED0xf2, &&OPED0xf3,
    &&OPED0xf4, &&OPED0xf5, &&OPED0xf6, &&OPED0xf7,
    &&OPED0xf8, &&OPED0xf9, &&OPED0xfa, &&OPED0xfb,
    &&OPED0xfc, &&OPED0xfd, &&OPED0xfe, &&OPED0xff
};

static const void *JumpTableXY[0x100] = {
    &&OPXY0x00, &&OPXY0x01, &&OPXY0x02, &&OPXY0x03,
    &&OPXY0x04, &&OPXY0x05, &&OPXY0x06, &&OPXY0x07,
    &&OPXY0x08, &&OPXY0x09, &&OPXY0x0a, &&OPXY0x0b,
    &&OPXY0x0c, &&OPXY0x0d, &&OPXY0x0e, &&OPXY0x0f,

    &&OPXY0x10, &&OPXY0x11, &&OPXY0x12, &&OPXY0x13,
    &&OPXY0x14, &&OPXY0x15, &&OPXY0x16, &&OPXY0x17,
    &&OPXY0x18, &&OPXY0x19, &&OPXY0x1a, &&OPXY0x1b,
    &&OPXY0x1c, &&OPXY0x1d, &&OPXY0x1e, &&OPXY0x1f,

    &&OPXY0x20, &&OPXY0x21, &&OPXY0x22, &&OPXY0x23,
    &&OPXY0x24, &&OPXY0x25, &&OPXY0x26, &&OPXY0x27,
    &&OPXY0x28, &&OPXY0x29, &&OPXY0x2a, &&OPXY0x2b,
    &&OPXY0x2c, &&OPXY0x2d, &&OPXY0x2e, &&OPXY0x2f,

    &&OPXY0x30, &&OPXY0x31, &&OPXY0x32, &&OPXY0x33,
    &&OPXY0x34, &&OPXY0x35, &&OPXY0x36, &&OPXY0x37,
    &&OPXY0x38, &&OPXY0x39, &&OPXY0x3a, &&OPXY0x3b,
    &&OPXY0x3c, &&OPXY0x3d, &&OPXY0x3e, &&OPXY0x3f,

    &&OPXY0x40, &&OPXY0x41, &&OPXY0x42, &&OPXY0x43,
    &&OPXY0x44, &&OPXY0x45, &&OPXY0x46, &&OPXY0x47,
    &&OPXY0x48, &&OPXY0x49, &&OPXY0x4a, &&OPXY0x4b,
    &&OPXY0x4c, &&OPXY0x4d, &&OPXY0x4e, &&OPXY0x4f,

    &&OPXY0x50, &&OPXY0x51, &&OPXY0x52, &&OPXY0x53,
    &&OPXY0x54, &&OPXY0x55, &&OPXY0x56, &&OPXY0x57,
    &&OPXY0x58, &&OPXY0x59, &&OPXY0x5a, &&OPXY0x5b,
    &&OPXY0x5c, &&OPXY0x5d, &&OPXY0x5e, &&OPXY0x5f,

    &&OPXY0x60, &&OPXY0x61, &&OPXY0x62, &&OPXY0x63,
    &&OPXY0x64, &&OPXY0x65, &&OPXY0x66, &&OPXY0x67,
    &&OPXY0x68, &&OPXY0x69, &&OPXY0x6a, &&OPXY0x6b,
    &&OPXY0x6c, &&OPXY0x6d, &&OPXY0x6e, &&OPXY0x6f,

    &&OPXY0x70, &&OPXY0x71, &&OPXY0x72, &&OPXY0x73,
    &&OPXY0x74, &&OPXY0x75, &&OPXY0x76, &&OPXY0x77,
    &&OPXY0x78, &&OPXY0x79, &&OPXY0x7a, &&OPXY0x7b,
    &&OPXY0x7c, &&OPXY0x7d, &&OPXY0x7e, &&OPXY0x7f,

    &&OPXY0x80, &&OPXY0x81, &&OPXY0x82, &&OPXY0x83,
    &&OPXY0x84, &&OPXY0x85, &&OPXY0x86, &&OPXY0x87,
    &&OPXY0x88, &&OPXY0x89, &&OPXY0x8a, &&OPXY0x8b,
    &&OPXY0x8c, &&OPXY0x8d, &&OPXY0x8e, &&OPXY0x8f,

    &&OPXY0x90, &&OPXY0x91, &&OPXY0x92, &&OPXY0x93,
    &&OPXY0x94, &&OPXY0x95, &&OPXY0x96, &&OPXY0x97,
    &&OPXY0x98, &&OPXY0x99, &&OPXY0x9a, &&OPXY0x9b,
    &&OPXY0x9c, &&OPXY0x9d, &&OPXY0x9e, &&OPXY0x9f,

    &&OPXY0xa0, &&OPXY0xa1, &&OPXY0xa2, &&OPXY0xa3,
    &&OPXY0xa4, &&OPXY0xa5, &&OPXY0xa6, &&OPXY0xa7,
    &&OPXY0xa8, &&OPXY0xa9, &&OPXY0xaa, &&OPXY0xab,
    &&OPXY0xac, &&OPXY0xad, &&OPXY0xae, &&OPXY0xaf,

    &&OPXY0xb0, &&OPXY0xb1, &&OPXY0xb2, &&OPXY0xb3,
    &&OPXY0xb4, &&OPXY0xb5, &&OPXY0xb6, &&OPXY0xb7,
    &&OPXY0xb8, &&OPXY0xb9, &&OPXY0xba, &&OPXY0xbb,
    &&OPXY0xbc, &&OPXY0xbd, &&OPXY0xbe, &&OPXY0xbf,

    &&OPXY0xc0, &&OPXY0xc1, &&OPXY0xc2, &&OPXY0xc3,
    &&OPXY0xc4, &&OPXY0xc5, &&OPXY0xc6, &&OPXY0xc7,
    &&OPXY0xc8, &&OPXY0xc9, &&OPXY0xca, &&OPXY0xcb,
    &&OPXY0xcc, &&OPXY0xcd, &&OPXY0xce, &&OPXY0xcf,

    &&OPXY0xd0, &&OPXY0xd1, &&OPXY0xd2, &&OPXY0xd3,
    &&OPXY0xd4, &&OPXY0xd5, &&OPXY0xd6, &&OPXY0xd7,
    &&OPXY0xd8, &&OPXY0xd9, &&OPXY0xda, &&OPXY0xdb,
    &&OPXY0xdc, &&OPXY0xdd, &&OPXY0xde, &&OPXY0xdf,

    &&OPXY0xe0, &&OPXY0xe1, &&OPXY0xe2, &&OPXY0xe3,
    &&OPXY0xe4, &&OPXY0xe5, &&OPXY0xe6, &&OPXY0xe7,
    &&OPXY0xe8, &&OPXY0xe9, &&OPXY0xea, &&OPXY0xeb,
    &&OPXY0xec, &&OPXY0xed, &&OPXY0xee, &&OPXY0xef,

    &&OPXY0xf0, &&OPXY0xf1, &&OPXY0xf2, &&OPXY0xf3,
    &&OPXY0xf4, &&OPXY0xf5, &&OPXY0xf6, &&OPXY0xf7,
    &&OPXY0xf8, &&OPXY0xf9, &&OPXY0xfa, &&OPXY0xfb,
    &&OPXY0xfc, &&OPXY0xfd, &&OPXY0xfe, &&OPXY0xff
};

static const void *JumpTableXYCB[0x100] = {
    &&OPXYCB0x00, &&OPXYCB0x01, &&OPXYCB0x02, &&OPXYCB0x03,
    &&OPXYCB0x04, &&OPXYCB0x05, &&OPXYCB0x06, &&OPXYCB0x07,
    &&OPXYCB0x08, &&OPXYCB0x09, &&OPXYCB0x0a, &&OPXYCB0x0b,
    &&OPXYCB0x0c, &&OPXYCB0x0d, &&OPXYCB0x0e, &&OPXYCB0x0f,

    &&OPXYCB0x10, &&OPXYCB0x11, &&OPXYCB0x12, &&OPXYCB0x13,
    &&OPXYCB0x14, &&OPXYCB0x15, &&OPXYCB0x16, &&OPXYCB0x17,
    &&OPXYCB0x18, &&OPXYCB0x19, &&OPXYCB0x1a, &&OPXYCB0x1b,
    &&OPXYCB0x1c, &&OPXYCB0x1d, &&OPXYCB0x1e, &&OPXYCB0x1f,

    &&OPXYCB0x20, &&OPXYCB0x21, &&OPXYCB0x22, &&OPXYCB0x23,
    &&OPXYCB0x24, &&OPXYCB0x25, &&OPXYCB0x26, &&OPXYCB0x27,
    &&OPXYCB0x28, &&OPXYCB0x29, &&OPXYCB0x2a, &&OPXYCB0x2b,
    &&OPXYCB0x2c, &&OPXYCB0x2d, &&OPXYCB0x2e, &&OPXYCB0x2f,

    &&OPXYCB0x30, &&OPXYCB0x31, &&OPXYCB0x32, &&OPXYCB0x33,
    &&OPXYCB0x34, &&OPXYCB0x35, &&OPXYCB0x36, &&OPXYCB0x37,
    &&OPXYCB0x38, &&OPXYCB0x39, &&OPXYCB0x3a, &&OPXYCB0x3b,
    &&OPXYCB0x3c, &&OPXYCB0x3d, &&OPXYCB0x3e, &&OPXYCB0x3f,

    &&OPXYCB0x40, &&OPXYCB0x41, &&OPXYCB0x42, &&OPXYCB0x43,
    &&OPXYCB0x44, &&OPXYCB0x45, &&OPXYCB0x46, &&OPXYCB0x47,
    &&OPXYCB0x48, &&OPXYCB0x49, &&OPXYCB0x4a, &&OPXYCB0x4b,
    &&OPXYCB0x4c, &&OPXYCB0x4d, &&OPXYCB0x4e, &&OPXYCB0x4f,

    &&OPXYCB0x50, &&OPXYCB0x51, &&OPXYCB0x52, &&OPXYCB0x53,
    &&OPXYCB0x54, &&OPXYCB0x55, &&OPXYCB0x56, &&OPXYCB0x57,
    &&OPXYCB0x58, &&OPXYCB0x59, &&OPXYCB0x5a, &&OPXYCB0x5b,
    &&OPXYCB0x5c, &&OPXYCB0x5d, &&OPXYCB0x5e, &&OPXYCB0x5f,

    &&OPXYCB0x60, &&OPXYCB0x61, &&OPXYCB0x62, &&OPXYCB0x63,
    &&OPXYCB0x64, &&OPXYCB0x65, &&OPXYCB0x66, &&OPXYCB0x67,
    &&OPXYCB0x68, &&OPXYCB0x69, &&OPXYCB0x6a, &&OPXYCB0x6b,
    &&OPXYCB0x6c, &&OPXYCB0x6d, &&OPXYCB0x6e, &&OPXYCB0x6f,

    &&OPXYCB0x70, &&OPXYCB0x71, &&OPXYCB0x72, &&OPXYCB0x73,
    &&OPXYCB0x74, &&OPXYCB0x75, &&OPXYCB0x76, &&OPXYCB0x77,
    &&OPXYCB0x78, &&OPXYCB0x79, &&OPXYCB0x7a, &&OPXYCB0x7b,
    &&OPXYCB0x7c, &&OPXYCB0x7d, &&OPXYCB0x7e, &&OPXYCB0x7f,

    &&OPXYCB0x80, &&OPXYCB0x81, &&OPXYCB0x82, &&OPXYCB0x83,
    &&OPXYCB0x84, &&OPXYCB0x85, &&OPXYCB0x86, &&OPXYCB0x87,
    &&OPXYCB0x88, &&OPXYCB0x89, &&OPXYCB0x8a, &&OPXYCB0x8b,
    &&OPXYCB0x8c, &&OPXYCB0x8d, &&OPXYCB0x8e, &&OPXYCB0x8f,

    &&OPXYCB0x90, &&OPXYCB0x91, &&OPXYCB0x92, &&OPXYCB0x93,
    &&OPXYCB0x94, &&OPXYCB0x95, &&OPXYCB0x96, &&OPXYCB0x97,
    &&OPXYCB0x98, &&OPXYCB0x99, &&OPXYCB0x9a, &&OPXYCB0x9b,
    &&OPXYCB0x9c, &&OPXYCB0x9d, &&OPXYCB0x9e, &&OPXYCB0x9f,

    &&OPXYCB0xa0, &&OPXYCB0xa1, &&OPXYCB0xa2, &&OPXYCB0xa3,
    &&OPXYCB0xa4, &&OPXYCB0xa5, &&OPXYCB0xa6, &&OPXYCB0xa7,
    &&OPXYCB0xa8, &&OPXYCB0xa9, &&OPXYCB0xaa, &&OPXYCB0xab,
    &&OPXYCB0xac, &&OPXYCB0xad, &&OPXYCB0xae, &&OPXYCB0xaf,

    &&OPXYCB0xb0, &&OPXYCB0xb1, &&OPXYCB0xb2, &&OPXYCB0xb3,
    &&OPXYCB0xb4, &&OPXYCB0xb5, &&OPXYCB0xb6, &&OPXYCB0xb7,
    &&OPXYCB0xb8, &&OPXYCB0xb9, &&OPXYCB0xba, &&OPXYCB0xbb,
    &&OPXYCB0xbc, &&OPXYCB0xbd, &&OPXYCB0xbe, &&OPXYCB0xbf,

    &&OPXYCB0xc0, &&OPXYCB0xc1, &&OPXYCB0xc2, &&OPXYCB0xc3,
    &&OPXYCB0xc4, &&OPXYCB0xc5, &&OPXYCB0xc6, &&OPXYCB0xc7,
    &&OPXYCB0xc8, &&OPXYCB0xc9, &&OPXYCB0xca, &&OPXYCB0xcb,
    &&OPXYCB0xcc, &&OPXYCB0xcd, &&OPXYCB0xce, &&OPXYCB0xcf,

    &&OPXYCB0xd0, &&OPXYCB0xd1, &&OPXYCB0xd2, &&OPXYCB0xd3,
    &&OPXYCB0xd4, &&OPXYCB0xd5, &&OPXYCB0xd6, &&OPXYCB0xd7,
    &&OPXYCB0xd8, &&OPXYCB0xd9, &&OPXYCB0xda, &&OPXYCB0xdb,
    &&OPXYCB0xdc, &&OPXYCB0xdd, &&OPXYCB0xde, &&OPXYCB0xdf,

    &&OPXYCB0xe0, &&OPXYCB0xe1, &&OPXYCB0xe2, &&OPXYCB0xe3,
    &&OPXYCB0xe4, &&OPXYCB0xe5, &&OPXYCB0xe6, &&OPXYCB0xe7,
    &&OPXYCB0xe8, &&OPXYCB0xe9, &&OPXYCB0xea, &&OPXYCB0xeb,
    &&OPXYCB0xec, &&OPXYCB0xed, &&OPXYCB0xee, &&OPXYCB0xef,

    &&OPXYCB0xf0, &&OPXYCB0xf1, &&OPXYCB0xf2, &&OPXYCB0xf3,
    &&OPXYCB0xf4, &&OPXYCB0xf5, &&OPXYCB0xf6, &&OPXYCB0xf7,
    &&OPXYCB0xf8, &&OPXYCB0xf9, &&OPXYCB0xfa, &&OPXYCB0xfb,
    &&OPXYCB0xfc, &&OPXYCB0xfd, &&OPXYCB0xfe, &&OPXYCB0xff
};

